<!DOCTYPE html>
<html>

<head>
    <meta charset="UTF-8" />
    <title>localStorage</title>
</head>

<body>


    <!--
 1. 存储内容大小一般支持5MB左右（不同浏览器可能还不一样）

2. 浏览器端通过 Window.sessionStorage 和 Window.localStorage 属性来实现本地存储机制。

3. 相关API：

    1. ```xxxxxStorage.setItem('key', 'value');```
        				该方法接受一个键和值作为参数，会把键值对添加到存储中，如果键名存在，则更新其对应的值。

    2. ```xxxxxStorage.getItem('person');```

        ​		该方法接受一个键名作为参数，返回键名对应的值。

    3. ```xxxxxStorage.removeItem('key');```

        ​		该方法接受一个键名作为参数，并把该键名从存储中删除。

    4. ``` xxxxxStorage.clear()```

        ​		该方法会清空存储中的所有数据。
  -->

    <h2>localStorage</h2>
    <button onclick="saveData()">点我保存一个数据</button>
    <button onclick="readData()">点我读取一个数据</button>
    <button onclick="deleteData()">点我删除一个数据</button>
    <button onclick="deleteAllData()">点我清空一个数据</button>


    <script type="text/javascript">
        let p = {
            name: '张三',
            age: 18
        }

        function saveData() {
            localStorage.setItem('msg', 'hello!!!')
            localStorage.setItem('msg2', 666)
            localStorage.setItem('person', JSON.stringify(p))
        }

        function readData() {
            console.log(localStorage.getItem('msg'))
            console.log(localStorage.getItem('msg2'))

            const result = localStorage.getItem('person')
            console.log(JSON.parse(result))

            // console.log(localStorage.getItem('msg3'))
        }

        function deleteData() {
            localStorage.removeItem('msg2')
        }

        function deleteAllData() {
            localStorage.clear()
        }
    </script>
</body>

</html>